package com.sciencep.pro.core.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sciencep.pro.common.domain.QueryRequest;
import com.sciencep.pro.core.domain.dto.home.NewyAssignedVO;
import com.sciencep.pro.core.domain.dto.user.UserDetail;
import com.sciencep.pro.core.domain.dto.user.UserListRequestTO;
import com.sciencep.pro.core.domain.dto.user.UserListResponseTO;
import com.sciencep.pro.core.domain.entity.User;

import java.util.List;

/**
 * @author Sciencep
 */
public interface IUserService extends IService<User> {


    /**
     *  用户列表
     * @param queryRequest
     * @param userListRequestTO
     * @return
     */
    Page<UserListResponseTO> getUserList(QueryRequest queryRequest, UserListRequestTO userListRequestTO);


    /**
     * 获取用户详情
     * @param userId
     * @return
     */
    UserDetail getUserDetailByUserId(String userId);

    boolean updateUser(User user);

    List<UserListResponseTO> getUserListByDeptId(Long deptId);

    NewyAssignedVO getNewyAssignedVO(String userId);


    List<User> getUsers();

}
